package Negocio;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

import Interfaz.ItemPlanMantenimientoDTO;

@Entity
@Table(name="items_plan_mantenimiento")
public class ItemPlanMantenimiento implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 6862016986056982058L;

	@Id
	@Column(name="item_plan_mantenimiento_id")
	@GeneratedValue(strategy = GenerationType.AUTO)
	private int itemPlanMantenimientoId;
	
	@Column(name="cantidad_dias")
	private long cantidadDias;
	@Column(name="cantidad_km")
	private long cantidadKM;
	private boolean recurrente;
	private String descripcion;
	@Column(name="fecha_creacion")
	private Date fechaCreacion;
	@Column(name="km_vehiculo_fecha_creacion")
	private float kmVehiculoFechaCreacion;
	@Transient
	private List<Mantenimiento> mantenimientos;  
	
	public ItemPlanMantenimiento() {

	}
	
	

	public ItemPlanMantenimiento(long cantidadDias, long cantidadKM, boolean recurrente, String descripcion) {
		this.cantidadDias = cantidadDias;
		this.cantidadKM = cantidadKM;
		this.recurrente = recurrente;
		this.descripcion = descripcion;
		this.fechaCreacion = Calendar.getInstance().getTime();
	}



	public ItemPlanMantenimiento(ItemPlanMantenimientoDTO itemDTO) {
		this.cantidadDias = itemDTO.getCantidadDias();
		this.cantidadKM = itemDTO.getCantidadKM();
		this.recurrente = itemDTO.isRecurrente();
		this.descripcion = itemDTO.getDescripcion();
		this.fechaCreacion = Calendar.getInstance().getTime();
	}



	public long getCantidadDias() {
		return cantidadDias;
	}

	public void setCantidadDias(long cantidadDias) {
		this.cantidadDias = cantidadDias;
	}

	public long getCantidadKM() {
		return cantidadKM;
	}

	public void setCantidadKM(long cantidadKM) {
		this.cantidadKM = cantidadKM;
	}

	public boolean isRecurrente() {
		return recurrente;
	}

	public void setRecurrente(boolean recurrente) {
		this.recurrente = recurrente;
	}
	
	public String getDescripcion() {
		return descripcion;
	}
	
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}



	public Date getFechaCreacion() {
		return fechaCreacion;
	}



	public void setFechaCreacion(Date fechaCreacion) {
		this.fechaCreacion = fechaCreacion;
	}



	public float getKmVehiculoFechaCreacion() {
		return kmVehiculoFechaCreacion;
	}



	public void setKmVehiculoFechaCreacion(float kmVehiculoFechaCreacion) {
		this.kmVehiculoFechaCreacion = kmVehiculoFechaCreacion;
	}
	
	
	
	
}
